﻿using System;
using System.Collections.Generic;
using MiniStock.Entities.Common.Events;
using MiniStock.Infrastructure.Configurator;

namespace MiniStock.Infrastructure.Queue
{
    public interface IEventQueue
    {
        string Address { get; set; }
        EventBase Dequeue(string clientHash = null);
        void Enqueue(EventBase item);
        bool HasEvent();
        void Configure(IEventQueueConfigurator configurator, string queueName);
        IEnumerable<EventBase> AsEnumerable();

        int Count();
    }
}
